11154. Покраска
забора
Несколько сезонов жарких лет и
холодных зим изрядно подпортили изгородь Фермера Джона, и он решил перекрасить
её с помощью своей любимой коровы Беси. Беси отлично красит, но к несчастью
плохо понимает команды ФД.
Если мы рассмотрим изгородь ФД
как одномерную числовую прямую, то ФД закрашивает интервал между x = a
и x = b. Например, если a = 3 и b = 5, то ФД
закрашивает интервал длиной 2. Беси, не понимая команды ФД, закрашивает
интервал от x = c до x = d, который может частично
или полностью перекрываться с интервалом ФД. Определите общую длину изгороди,
которую покрасят ФД и Беси.
Вход. Первая строка содержит целые
числа a и b (a < b). Вторая строка содержит
целые числа c и d (c < d).
Значения a, b,
c, d лежат в интервале 0 .. 100 включительно.
Выход. Выведите в одной строке общую
длину изгороди, покрытой краской.
Пример
входа |
Пример
выхода |
7 10 4 8 |
6 |
циклы
Значения a, b,
c, d лежат в интервале 0 .. 100. Переберем все возможные
координаты от 0 до 100 и подсчитаем количество таких, которые лежат внутри
интервала [a; b)
или [c; d).
Пример
Рассмотрим покраску изгороди для приведенного примера.
Краской покрыты 6 единиц
изгороди от x = 4 до x = 10.
Реализация алгоритма
Читаем
входные данные.
scanf("%d %d", &a, &b);
scanf("%d %d", &c, &d);
Перебираем
координаты от 0 до 100. В переменной res
подсчитаем количество
таких координат i, которые находятся в интервале [a; b) или [c; d).
res = 0;
for (i = 0; i <= 100; i++)
if ((a <= i
&& i < b) || (c <= i && i < d)) res++;
Выводим
ответ.
printf("%d\n", res);